Creating Cover Art for Media Browsers

ABSTRACT

Displaying art work or thumbnail images representative of movies, television (TV) programs/episodes and other media content is an appealing and often intuitive way of displaying available media content in a media content browser. However, computer displayable cover art is not necessarily available for all titles. For example, an older movie may not have computer displayable cover art because at the time the movie title was made available it was not anticipated that the movie title might be selectable through a media browser. After considering this description one will understand how the features of various, implementations are configured to enable various systems, methods and devices to create computer displayable cover art or thumbnail images for media titles to be displayed by a media browser.

CROSS REFERENCE TO RELATED APPLICATIONS

This Application is a continuation of U.S. patent application Ser. No.14/351,529 filed on Apr. 11, 2014, which is a United States NationalStage Application filed under 35 U.S.C. §371 of PCT Patent ApplicationSerial No. PCT/US2012/060095 filed on Oct. 12, 2012, which claims thebenefit of and priority to U.S. Provisional Patent Application No.61/547,633 filed on Oct. 14, 2011, which are hereby incorporated byreference in their entireties.

TECHNICAL FIELD

The disclosed implementations relate generally to systems, methods anddevices configured to create cover art for media content displayable bya media browser.

BACKGROUND

Displaying art work or thumbnail images representative of movies,television (TV) programs/episodes and other media content is anappealing and often intuitive way of displaying available media contentin a media content browser. However, computer displayable cover art isnot necessarily available for all titles. For example, an older moviemay not have computer displayable cover art because at the time themovie title was made available it was not anticipated that the movietitle might be selectable through a media browser.

Prior solutions to this problem are ad hoc and burden the end user. Forexample, one possible solution is to allow a user to supply cover art ora thumbnail image for titles lacking cover art. In other words, the useris forced to become a curator for the content that the user isattempting to sort through in order to indentify media content to viewor listen to. This task is wholly inconvenient for users that merelywant to find media content to view or listen to. Moreover, the task canbecome extraordinarily burdensome when the user is attempting to searchthrough large libraries of media content.

SUMMARY

The aforementioned deficiencies and other problems are reduced oreliminated by the disclosed systems, methods and devices. Variousimplementations of systems, methods and devices within the scope of theclaims each have several aspects, no single one of which is solelyresponsible for the desirable attributes described herein. Withoutlimiting the scope of the claims, some prominent features of exampleimplementations are described herein. After considering this descriptionone will understand how the features of various implementations areconfigured to enable various systems, methods and devices to createcomputer displayable cover art or thumbnail images for media titles tobe displayed by a media browser.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which features of the present disclosure can beunderstood in detail, a more particular description, briefly summarizedabove, may be had by reference to aspects, some of which are illustratedin the appended drawings. It is to be noted, however, that the appendeddrawings illustrate only certain typical aspects of this disclosure andare therefore not to be considered limiting of its scope, for thedescription may admit to other effective aspects.

FIG. 1 is a block diagram of a client-server environment according tosome implementations.

FIG. 2 is a block diagram of a client-server environment according tosome implementations.

FIG. 3 is a block diagram of a configuration of a server systemaccording to some implementations.

FIG. 4 is a block diagram of a configuration of a client deviceaccording to some implementations.

FIG. 5 is a flowchart representation of a method according to someimplementations.

FIG. 6 is a flowchart representation of a method according to someimplementations.

FIG. 7 is a flowchart representation of a method according to someimplementations.

In accordance with common practice the various features illustrated inthe drawings may not be drawn to scale. Accordingly, the dimensions ofthe various features may be arbitrarily expanded or reduced for clarity.In addition, some of the drawings may not depict all of the componentsof a given system, method or device. Finally, like reference numeralsmay be used to denote like features throughout the specification andfigures.

DETAILED DESCRIPTION

Reference will now be made in detail to various implementations,examples of which are illustrated in the accompanying drawings. In thefollowing detailed description, numerous specific details are set forthin order to provide a thorough understanding of aspects of theimplementations. However, the invention may be practiced without thesespecific details. In other instances, well-known methods, procedures,components, and circuits have not been described in detail so as not tounnecessarily obscure aspects of the disclosed implementations.

FIG. 1 is a block diagram of a simplified example client-serverenvironment 100 according to some implementations. While certainspecific features are illustrated, those skilled in the art willappreciate from the present disclosure that various other features havenot been illustrated for the sake of brevity and so as not to obscuremore pertinent aspects of the implementations disclosed herein. To thatend, the client-server environment 100 includes a client device 102, aset-top box 103, a television (TV) 110, a communication network 104, amedia server 130, a broadcast system 140, a content provider 150, anassociated database 170 and a third party database 180. The clientdevice 102, the set-top box 103, the media server 130, the broadcastsystem 140, the content provider 150, the associated database 170 andthe third party database 180 are capable of being connected to thecommunication network 104 in order to exchange information with oneanother and/or other devices and systems.

In some implementations, the media server 130 is implemented as a singleserver system, while in other implementations it is implemented as adistributed system of multiple servers. Solely for convenience ofexplanation, the media server 130 is described below as beingimplemented on a single server system. Similarly, in someimplementations, the broadcast system 140 is implemented as a singleserver system, while in other implementations it is implemented as adistributed system of multiple servers. Solely, for convenience ofexplanation, the broadcast system 140 is described below as beingimplemented on a single server system. Similarly, in someimplementations, the content provider 150 is implemented as a singleserver system, while in other implementations it is implemented as adistributed system of multiple servers. Solely, for convenience ofexplanation, the content provider 150 is described below as beingimplemented on a single server system. Moreover, the functionality ofthe broadcast system 140 and the content provider 150 can be combinedinto a single server system. Additionally and/or alternatively, whileonly one broadcast system and only one content provider is illustratedin FIG. 1 for the sake of brevity, those skilled in the art willappreciate from the present disclosure that fewer or more of each may bepresent in an implementation of a client-server environment.

The communication network 104 may be any combination of wired andwireless local area network (LAN) and/or wide area network (WAN), suchas an intranet, an extranet, including a portion of the Internet. It issufficient that the communication network 104 provides communicationcapability between the one or more client devices 102 and the mediaserver 130. In some implementations, the communication network 104 usesthe HyperText Transport Protocol (HTTP) to transport information usingthe Transmission Control Protocol/Internet Protocol (TCP/IP). HTTPpermits client devices 102 to access various resources available via thecommunication network 104. However, the various implementationsdescribed herein are not limited to the use of any particular protocol.

In some implementations, the media server 130 includes a front endserver 134 that facilitates communication between the media server 130and the communication network 104. The front end server 134 receivescontent information 164 from the one or more client devices 102. Asdescribed in greater detail below with reference to FIGS. 3 and 4, insome implementations, the content information 164 is a metadata relatedto media content (e.g. a movie or TV program), a portion thereof, and/ora reference to a portion thereof. A reference to a portion of a videostream may include a time indicator and/or a digital marker referencingthe content of the media content.

A content feed (or channel) is a resource or service that provides alist of content items that are present, recently added, or recentlyupdated at a feed source. A content item in a content feed may includethe content associated with the item itself (the actual content that thecontent item specifies), a title (sometimes called a headline), and/or adescription of the content, a network location or locator (e.g., URL) ofthe content, or any combination thereof. For example, if the contentitem identifies a text article, the content item may include the articleitself inline, along with the title (or headline), and locator.Alternatively, a content item may include the title, description andlocator, but not the article content. Thus, some content items mayinclude the content associated with those items, while others containlinks to the associated content but not the full content of the items. Acontent item may also include additional metadata that providesadditional information about the content. For example, the metadata mayinclude a time-stamp or embedded selectable website links. The fullversion of the content may be any machine-readable data, including butnot limited to web pages, images, digital audio, digital video, PortableDocument Format (PDF) documents, and so forth.

In some implementations, a content feed is specified using a contentsyndication format, such as RSS. RSS is an acronym that stands for “richsite summary,” “RDF site summary,” or “Really Simple Syndication.” “RSS”may refer to any of a family of formats based on the Extensible MarkupLanguage (XML) for specifying a content feed and content items includedin the feed. In some other implementations, other content syndicationformats, such as the Atom syndication format or the VCALENDAR calendarformat, may be used to specify content feeds.

In some implementations, the set-top box 103 is any suitable computerdevice capable of connecting to the communication network 104, receivingvideo streams, extracting information from video streams and presentingvideo streams for the display using the TV 110 (or another displaydevice). For example, the set-top box 103 can be a set-top box forreceiving cable TV and/or satellite TV, a digital video recorder (DVR),a digital media receiver, a TV tuner, a computer, and/or any otherdevice that outputs TV signals. In some implementations, the set-top box103 displays a video stream on the TV 110. In some implementations theTV 110 can be a conventional TV display that is not connectable to theInternet and that displays digital and/or analog TV content received viaover the air broadcasts or a satellite or cable connection.

As is typical of televisions, the TV 110 includes a display 118 andspeakers 119. Additionally and/or alternatively, the TV 110 can bereplaced with another type of display device 108 for presenting videocontent to a user. For example, the display device may be a computermonitor that is configured to receive and display audio and videosignals or other digital content from the set-top box 103. In someimplementations, the display device is an electronic device with acentral processing unit, memory and a display that is configured toreceive and display audio and video signals or other digital contentform the set-top box 103. For example, the display device can be a LCDscreen, a tablet device, a mobile telephone, a projector, or other typeof video display system. The display device can be coupled to theset-top box 103 via a wireless or wired connection.

In some implementations, the set-top box 103 receives video streams 161via a TV signal 162. As used herein, a TV signal is an electrical,optical, or other type of data transmitting medium that includes audioand/or video components corresponding to a TV channel. In someimplementations, the TV signal 162 is a terrestrial over-the-air TVbroadcast signal or a sign distributed/broadcast on a cable-system or asatellite system. In some implementations, the TV signal 162 istransmitted as data over a network connection. For example, the clientdevice 102 can receive video streams from an Internet connection. Audioand video components of a TV signal are sometimes referred to herein asaudio signals and video signals. In some implementations, a TV signalcorresponds to a TV channel that is being displayed on the TV 110.

In some implementations, the client device 102 is configured to supportand/or supplement the operation of the set-top box 103 as it operates incombination with the TV 110. For example, the client device 102 maymonitor the output of the set-top box 103 in order to provide additionaland/or supplemental content associated with the content provided, by theset-top box 103. More specifically, the client device 103 may provideadditional information about particular movies or television programs oroptions to allow a user to select additional content associated with theplaying movie or television program. In some implementations, the clientdevice 103 also provides a media browser that can be displayed on the TV110. The media browser, in some implementations, provides a graphicalinterface, in which available movie titles or the like are displayedusing computer displayable cover art or thumbnail images representativeof the title. In some implementations, the client device 102 residesbetween the set-top box 103 and the TV 110 or is integrated with the TV110, so that the client device 102 can overlay graphics on top of thevideo signal coming out of the set-top box 103. In some implementations,the client device 102 is configured to send commands to the set-top box103 to tune to a particular channel or access a particular title ondemand.

FIG. 2 is a block diagram of a client-server environment 200 accordingto some implementations. The client-server environment 200 illustratedin FIG. 2 is similar to and adapted from the client-server environment100 illustrated in FIG. 1. Elements common to both share commonreference indicia, and only the differences between the client-serverenvironments 100, 200 are described herein for the sake of brevity.

As a non-limiting example, within the client-server environment 200, theclient device 103, the set-top box 102, the TV 110 and an additionalclient device 120 (e.g. a tablet computer or laptop, etc.) are presenttogether in a first residential location 201. In operation, the clientdevice 103 receives information from the set-top box 102 associated withthe media content presented on the TV 110. If the media content does nothave associated cover art or a thumbnail image suitable for display by amedia browser, the client device 103 then communicates a query to themedia server 130. In some implementations, the client device 103 isconfigured to detect the media content playing on the TV 110 and reportcontent associated with the media content playing on the TV 110 to themedia server 130 so that the media server can form a query to retrieverelevant art to create cover art or a related thumbnail image. Morespecific details pertaining to how cover art or thumbnail images arecreated are described below with reference to the remaining drawings andcontinued reference to FIGS. 1 and 2.

FIG. 3 is a block diagram of a configuration of the media server 130according to some implementations. In some implementations, the mediaserver 130 includes one or more processing units (CPU's) 302, one ormore network or other communications interfaces 308, memory 306, and oneor more communication buses 304 for interconnecting these and variousother components. The communication buses 304 optionally includecircuitry (sometimes called a chipset) that interconnects and controlscommunications between system components. Memory 306 includes high-speedrandom access memory, such as DRAM, SRAM, DDR RAM or other random accesssolid state memory devices; and may include non-volatile memory, such asone or more magnetic disk storage devices, optical disk storage devices,flash memory devices, or other non-volatile solid state storage devices.Memory 306 may optionally include one or more storage devices remotelylocated from the CPU(s) 302. Memory 306, including the non-volatile andvolatile memory device(s) within memory 306, comprises a non-transitorycomputer readable storage medium. In some implementations, memory 306 orthe non-transitory computer readable storage medium of memory 306 storesthe following programs, modules and data structures, or a subset thereofincluding an operation system 316, a network communication module 318,an art generation module 131, a content database 136, and applications138.

The operating system 316 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 318 facilitates communication withother devices via the one or more communication network interfaces 308(wired or wireless) and one or more communication networks, such as theInternet, other wide area networks, local area networks, metropolitanarea networks, and so on. With further reference to FIG. 1, the networkcommunication module 318 may be incorporated into the front end server134.

The content database 136 includes content files 328 and/or links tocontent files 230. In some implementations, the content database 136stores advertisements, videos, images, music, web pages, email messages,SMS messages, a content feeds, advertisements, coupons, playlists, XMLdocuments and any combination thereof In some implementations, thecontent database 1376 includes links to advertisements, videos, images,music, web pages, email messages, SMS messages, content feeds,advertisements, coupons, playlists, XML documents and any combinationthereof.

The art generation module 131 receives content information 164 from theclient device 102, generates a set of instructions 332 and sends a setof instructions 332 to the client device 102. Additionally and/oralternatively, the media server 130 can receive content information 164from the client device 102. The art generation module 131 includes anquery instruction generation module 320, a genre matching module 322, acontent correlation engine 323, and an optical character recognition(OCR) and code recognition module 327.

In some implementations, the OCR and code recognition module 327 isconfigured to apply an optical character recognition technique to videoframes to determine information about the movie title, such as title andgenre information.

The genre matching module 322 matches at least a portion of the contentinformation 164 to metadata store locally or retrieved by a searchengine. The metadata is sent to the query instruction generation module320. The genre matching module 322 includes content information 164received from at least the client device 102. The content information164 includes genre information 324, a listing of actors 326 and a titleinformation 329. In some implementations, the content information 164also includes the year a movie or TV program was produced, and for a TVprogram the season and the number of particular episodes.

The query instruction generation module 320 generates a set ofinstructions 332 based on the available metadata in order submit a querythat may retrieve relevant cover art or the like.

In some implementations, the set of instructions 332 includesinstructions to execute and/or display one or more queries or theresults of one or more queries on the client device 120. For example,when executed by the client device 102, the set of instructions 332 maycause the client device 102 to display an application that was minimizedor running as a background process, or the set of instructions 132 maycause the client device 120 to execute the application. In someimplementations, the set of instructions 332 include instructions thatcause the client device 120 to download one or more content files 328that may include relevant art. In some implementations the artgeneration module also prepares the artwork for display. In someimplementations, the instructions 132 relate to generation and displayof the art generation module. In some implementations the art generationmodule also stores the generated art for reuse and display in the GoogleTV user interface. In various implementations, the generated artwork canbe cached at the server for future reuse or use by other users/viewers.

The applications 138 include one or more applications that can beexecuted on the client device 120. In some implementations, theapplications include a media application, a feed reader application, abrowser application, an advertisement application, a coupon bookapplication and a custom application.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and each of the modules orprograms corresponds to a set of instructions for performing a functiondescribed above. The set of instructions can be executed by one or moreprocessors (e.g., the CPUs 302). The above identified modules orprograms (i.e., trigger module 118) need not be implemented as separatesoftware programs, procedures or modules, and thus various subsets ofthese modules may be combined or otherwise re-arranged in variousimplementations. In some implementations, memory 306 may store a subsetof the modules and data structures identified above. Furthermore, memory306 may store additional modules and data structures not describedabove.

Although FIG. 3 shows a media server, FIG. 3 is intended more asfunctional description of the various features which may be present in aset of servers than as a structural schematic of the implementationsdescribed herein. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated. For example, some items (e.g., operatingsystem 316 and network communication module 318) shown separately inFIG. 3 could be implemented on single servers and single items could beimplemented by one or more servers. The actual number of servers used toimplement the media server 130 and how features are allocated among themwill vary from one implementation to another, and may depend in part onthe amount of data traffic that the system must handle during peak usageperiods as well as during average usage periods.

FIG. 4 is a block diagram of a configuration of the client device 102according to some implementations. The client device 102 typicallyincludes one or more processing units (CPU's) 402, one or more networkor other communications interfaces 408, memory 406, and one or morecommunication buses 404, for interconnecting these and various othercomponents. The communication buses 404 optionally include circuitry(sometimes called a chipset) that interconnects and controlscommunications between system components. The client device 102 may alsoinclude a user interface comprising a display device 413 and a keyboardand/or mouse (or other pointing device) 414. Memory 406 includeshigh-speed random access memory, such as DRAM, SRAM, DDR RAM or other,random access solid state memory devices; and may include non-volatilememory, such as one or more magnetic disk storage devices, optical diskstorage devices, flash memory devices, or other non-volatile solid statestorage devices. Memory 406 may optionally include one or more storagedevices remotely located from the CPU(s) 402. Memory 406, oralternatively the non-volatile memory device(s) within memory 406,comprises a non-transitory computer readable storage medium. In someimplementations, memory 406 or the computer readable storage medium ofmemory 306 store the following programs, modules and data structures, ora subset thereof including operation system 416, network communicationmodule 418, an art generation module 426 and local data 420.

The client device 102 includes a video input/output 430 for receivingand outputting video streams. In some implementations, the videoinput/output 430 is configured to receive video streams from radiotransmissions, satellite transmissions and cable lines. In someimplementations the video input/output 430 is connected to a set topbox. In some implementations, the video input/output 430 is connected toa satellite dish. In some implementations, the video input/output 430 isconnected to an antenna.

In some implementations, the client device 102 includes a televisiontuner 432 for receiving video streams or TV signals.

The operating system 416 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 418 facilitates communication withother devices via the one or more communication network interfaces 404(wired or wireless) and one or more communication networks, such as theInternet, other wide area networks, local area networks, metropolitanarea networks, and so on.

The data 420 includes video streams 161.

The art generation module 426 derives content information 164 from avideo stream 161 in order to determine if cover art or the like isrequired, and then either generates art or generates a query to retrieverelevant art. In some implementations, the content information 161includes various types of metadata associated with the video stream,such a title, genre, etc. The user preferences 329 include a collectionof display attributes that are preferred by a local user (e.g. the user221). In some implementations, the content information is derived from avideo stream. In some implementations, the content, information isderived from a service, such as TMS, that provides metadata foridentified media content (media content that is responsive to a usersearch query or a predefined query, such as for popular media contentitems or for media content items that are similar to other media contentitems recently viewed by the user).

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and each of the modules orprograms corresponds to a set of instructions for performing a functiondescribed above. The set of instructions can be executed by one or moreprocessors (e.g., the CPUs 402). The above identified modules orprograms (i.e., sets of instructions) need not be implemented asseparate software programs, procedures or modules, and thus varioussubsets of these modules may be combined or otherwise re-arranged invarious implementations. In some implementations, memory 306 may store asubset of the modules and data structures identified above. Furthermore,memory 406 may store additional modules and data structures notdescribed above.

Although FIG. 4 shows a client device, FIG. 4 is intended more asfunctional description of the various features which may be present in aclient device than as a structural schematic of the implementationsdescribed herein. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated.

FIG. 5 is a flowchart representation of a method 500 according to someimplementations. In some implementations, the method is performed by aclient device or server in order to create cover art or a thumbnailimage representative of a movie title or an episode of a TV program orthe like. In other words, the method of creating cover art can beimplemented on a client device or a server. For example, in someimplementations, the method 500 is performed at least in part by the artgeneration module 131. As represented by block 5-1, the method includesidentifying the movie title or the title of an episode of a TV program.In some implementations, identifying a title includes retrievingmetadata. In some implementations, identifying a title includesperforming a screen capture (i.e. a “screen scrape”) associated with oneor more frames of the media content, and applying an optical characterrecognition technique to extract the title from the opening credits orthe like.

As represented by block 5-2, the method includes submitting a query to athird party database (e.g. the associated database 170 and the thirdparty database 180). As represented by block 5-3, the method includesreceiving search results from the third party database. As representedby block 5-4, the method includes determining whether or not cover artor the like is available from the database. If cover art or the like isavailable (“Yes”, path from block 5-4), as represented by block 5-5, themethod includes utilizing the retrieved cover art or the like as thecomputer displayable cover art. In turn, the cover art may be displayedby a media browser displayed to a user.

On the other hand, if cover art is not available (“No” path from block5-4), as represented by block 5-6, the method includes identifying thegenre of the movie or TV, program. In some implementations, the genremay be identified by accessing metadata associated with the title, or bysearching for the genre based on the title and/or additional metadata.Subsequently, as represented by block 5-7, the method includes creatingcover art using the title, and one or more of a respective font and/or arespective background, both of which are selected based at least on theidentified genre. In some embodiments, the title font and/or thebackground used to represent media content items are selected todistinguish visually media content items associated with respectivegenres. In some embodiments, the title font and/or background are chosenwithout attempting to convey any associated meaning, of the genre. Forexample, the background image for “Sports” items might have blue andwhite horizontal stripes whereas “Mystery” items might have red circleson a gray background. In other embodiments, the title font and/orbackground are chosen to convey an associated meaning of the genre. Forexample, for media content items that are associated with the “Horror”genre, the font selected to represent the title of the media contentitems could have a gothic style and/or a background associated withhorror content, such as the image of a bat, or a jagged pattern in colorcombinations associated with horror content (such as black and purple).As another example, media content items that are associated with the“Sports” genre could have a red and white striped background reminiscentof the red stitches and white leather of a baseball and/or a traditionalfont.

In some embodiments, the art generation module 131′ generates thebackground used to represent a media content item. In some embodiments,the art generation module 131 issues a query to a web-based service,such as Google Image Search, to identify one or more images associatedwith the genre of a media content item, and selects one of those imagesas the background for cover art representing media content items of thatgenre. In some embodiments, the art generation module 131 can associatewith cover art representing a media item of a particular genre a soundsignature that is associated with that genre. In some embodiments, thesound signatures can be entirely computer generated. In otherembodiments, the sound signatures can be sampled sounds or pre-recordedsound snippets, including sounds characteristic of a genre (e.g., acreaky door for media content items that are associated with the Horrorgenre).

FIG. 6 is a flowchart representation of a method according to someimplementations. In some implementations, the method is performed by aclient device or server in order to create cover art or a thumbnailimage representative of a movie title, an episode of a TV program or thelike. As represented by block 6-1, the method includes identifying themovie title or the title of an episode of a TV program. In someimplementations, identifying a title includes retrieving metadata. Insome implementations, identifying a title includes performing a screencapture (i.e. a “screen scrape”) associated with one or more frames ofthe media content, and applying an optical character recognitiontechnique to extract the title from the opening credits or the like.

As represented by block 6-2, the method includes generating a searchengine query to retrieve cover art. As represented by block 6-3, themethod includes submitting a query to a server (e.g. media server 130).As represented by block 6-4, the method includes receiving searchresults from the server. As represented by block 6-5, the methodincludes determining whether or not cover art or the like is available.If cover art is not available (“No” path from block 6-5), as representedby block 6-9, the method includes modifying the query based onheuristics or the like, and then submitting the modified query asrepresented by block 6-3.

On the other hand, if cover art or the like is available (“Yes” pathfrom block, 6-5), as represented by block 6-6, the method includesfiltering the retrieved cover art based at least on quality. In someimplementations, other types of filtering may also be included in orderto specifically adjust the type of cover art that is utilized. Asrepresented by block 6-7, the method includes selecting cover art fromthe filtered results. As represented by block 6-8, the method optionallyincludes creating cover art from the selected cover art based at leaston user preferences.

FIG. 7 is a flowchart representation of a method according to someimplementations. In some implementations, the method is performed by aclient device or server in order to create cover art or a thumbnailimage representative of a movie title, an episode of a TV program or thelike. As represented by block 7-1, the method includes identifying themovie title or the title of an episode of a TV program. In someimplementations, identifying a title includes retrieving metadata. Insome implementations, identifying a title includes performing a screencapture (i.e. a “screen scrape”) associated with one or more frames ofthe media content, and applying an optical character recognitiontechnique to extract the title from the opening credits or the like.

As represented by block 7-2, the method includes determining whether ornot there is access to a licensed database including licensed computerdisplayable cover art. If a licensed database is not available (“No”path from block 7-2), as represented by block 7-3, the method includesgenerating text-based cover art using genre information (e.g. asdescribed with reference to FIG. 5).

On the other hand, if a licensed database is available (“Yes” path fromblock 7-2), as represented by block 7-4, the method includes generatinga search engine query to retrieve cover art. As represented by block7-5, the method includes submitting a query to a server (e.g. mediaserver 130). As represented by block 7-6, the method includes receivingsearch results from the server. As represented by block 7-7, the methodincludes determining whether or not cover art or the like is available.If cover art is not available (“No” path from block 7-7), as representedby block 7-11, the method includes modifying the query based onheuristics or the like, and then submitting the modified query asrepresented by block 7-5.

On the other hand, if cover art or the like is available (“Yes” pathfrom block 7-7), as represented by block 7-8, the method includesfiltering the retrieved cover art based at least on quality. In someimplementations, other types of filtering may also be included in orderto specifically adjust the type of cover art that is utilized. Asrepresented by block 7-9, the method includes selecting cover art fromthe filtered results. As represented by block 7-10, the methodoptionally includes creating cover art from the selected cover art basedat least on user preferences.

Various aspects of embodiments within the scope of the appended claimsare described below. It should be apparent that the aspects describedherein may be embodied in a wide variety of forms and that any specificstructure and/or function described herein is merely illustrative. Basedon the present disclosure one skilled in the art should appreciate thatan aspect described herein may be implemented independently of any otheraspects and that two or more of these aspects may be combined in variousways. For example, an apparatus may be implemented and/or a method maybe practiced using any number of the aspects set forth herein. Inaddition, such an apparatus may be implemented and/or such a method maybe practiced using other structure and/or functionality in addition toor other than one or more of the aspects set forth herein.

It will also be understood that, although the terms “first,” “second,”etc. may be used herein to describe various elements, these elementsshould not be limited by these terms. These terms are only used todistinguish one element from another. For example, a first contact couldbe termed a second contact, and, similarly, a second contact could betermed a first contact, which changing the meaning of the description,so long as all occurrences of the “first contact” are renamedconsistently and all occurrences of the second contact are renamedconsistently. The first contact and the second contact are bothcontacts, but they are not the same contact.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the claims. Asused in the description of the embodiments and the appended claims, thesingular forms “a”, “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the, phrase “if it isdetermined [that a stated condition precedent is true]” or “if [a statedcondition precedent is true]” or “when [a stated condition precedent istrue]” may be construed to mean “upon determining” or “in response todetermining” or “in accordance with a determination” or “upon detecting”or “in response to detecting” that the stated condition precedent istrue, depending on the context.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method for generating computer displayable cover art for a media content item comprising: at an electronic device including at least one processor and memory storing programs for execution by the at least one processor: determining a title of the media content item; determining that the media content item does not have associated computer displayable cover art, including: submitting a query to retrieve cover art associated with the media content item to at least one of an associated database, a third party database, or a search engine; receiving results responsive to the query; and in accordance with the received results, determining that the associated computer displayable cover art is not available from the at least one of an associated database, a third party database, or a search engine; determining a genre of the media content item; and generating cover art that presents the title and has attributes that are representative of the genre; wherein the media content item includes at least one of a movie, a television program, an episode of a television program serial, a video, a music file, a music compilation, an audio file and a collection of images.
 2. The method of claim 1, wherein the associated database includes a licensed database including licensed content.
 3. The method of claim 1, wherein determining that the media content item does not have associated computer displayable cover art includes generating a query using metadata associated with the media content item.
 4. The method of claim 1, wherein determining the title includes applying an optical character recognition technique to one or more frames of the media content item.
 5. The method of claim 1, wherein determining the title includes submitting a query to at least one of an associated database, a third party database, or a search engine.
 6. The method of claim 1, wherein determining the genre includes applying an optical character recognition technique to one or more frames of the media content item.
 7. The method of claim 1, wherein determining the genre includes submitting a query to at least one of an associated database, a third party database, or a query to a search engine.
 8. The method of claim 1, wherein generating cover art that presents the title and has attributes that are representative of the genre includes selecting at least one of a font, a background, or an image from a local database based on the genre.
 9. The method of claim 1, wherein generating cover art that presents the title and has attributes that are representative of the genre includes submitting a query to at least one of an associated database, a third party database, or a search engine in order to identify and select at least one of a font, a background, or an image from a local database based on the genre.
 10. The method of claim 1, further comprising: associating with the generated cover art a sound signature associated with the genre of the media content item.
 11. A non-transitory computer readable storage medium storing one or more programs configured for execution by an electronic device with one or more processors, the one or more programs comprising computer program instructions that when executed by the one or more processors cause the electronic device to: determine a title of the media content item; determine that the media content item does not have associated computer displayable cover art, including: submit a query to retrieve cover art associated with the media content item to at least one of an associated database, a third party database, or a search engine; receive results responsive to the query; and in accordance with the received results, determine that the associated computer displayable cover art is not available from the at least one of an associated database, a third party database, or a search engine; determine a genre of the media content item; and generate cover art that presents the title and has attributes that are representative of the genre; wherein the media content item includes at least one of a movie, a television program, an episode of a television program serial, a video, a music file, a music compilation, an audio file and a collection of images.
 12. The computer readable storage medium of claim 11, wherein determining that the media content item does not have associated computer displayable cover art includes generating a query using metadata associated with the media content item.
 13. The computer readable storage medium of claim 11, wherein determining the title includes applying an optical character recognition technique to one or more frames of the media content item.
 14. The computer readable storage medium of claim 11, wherein determining the genre includes applying an optical character recognition technique to one or more frames of the media content item.
 15. The computer readable storage medium of claim 11, wherein generating cover art that presents the title and has attributes that are representative of the genre includes selecting at least one of a font, a background, or an image from a local database based on the genre.
 16. The computer readable storage medium of claim 11, wherein generating cover art that presents the title and has attributes that are representative of the genre includes submitting a query to at least one of an associated database, a third party database, or a search engine in order to identify and select at least one of a font, a background, or an image from a local database based on the genre.
 17. A system for generating computer displayable cover art for a media content item comprising: a device having one or more processors and non-transitory memory storing computer program instructions for execution by the one or more processors, and upon execution the computer program instructions causing the device to: determine a title of the media content item; determine that the media content item does not have associated computer displayable cover art, including: submit a query to retrieve cover art associated with the media content item to at least one of an associated database, a third party database, or a search engine; receive results responsive to the query; and in accordance with the received results, determine that the associated computer displayable cover art is not available from the at least one of an associated database, a third party database, or a search engine; determine a genre of the media content item; and generate cover art that presents the title and has attributes that are representative of the genre; wherein the media content item includes at least one of a movie, a television program, an episode of a television program serial, a video, a music file, a music compilation, an audio file and a collection of images.
 18. The system of claim 17, wherein determining that the media content item does not have associated computer displayable cover art includes generating a query using metadata associated with the media content item.
 19. The system of claim 17, wherein generating cover art that presents the title and has attributes that are representative of the genre includes selecting at least one of a font, a background, or an image from a local database based on the genre.
 20. The system of claim 17, wherein generating cover art that presents the title and has attributes that are representative of the genre includes submitting a query to at least one of an associated database, a third party database, or a search engine in order to identify and select at least one of a font, a background, or an image from a local database based on the genre. 